1. Field of the Invention
The present invention relates to an apparatus and method for displaying graphical images. More particularly, the present invention relates to a method and apparatus for generating and manipulating graphical information for output onto computer display devices.
2. Art Background
Computer display devices are essential for conveying information to computer users. The information displayed to the user can take many forms. For example, it may be useful to display information in terms of alphanumeric characters or in terms of graphical images. In either of these two forms, or a variety of other forms, the user seeks to maximize the quantity and quality of information displayed on the display, as well as maximizing the speed at which the information is displayed. The quantity and quality of information conveyed to the computer user is increased by the use of graphical representations or images on the output display. Human computer users tend to absorb and manipulate information more quickly when it is presented in a graphical form, rather than in alphanumeric form. The increased use of visual images thus creates a better environment for conveying information to the user. On the other hand, not all information lends itself to display in a graphical form. The optimal computer system needs to be able to manipulate both alphanumeric-type information and graphical information with relative ease.
It is also been determined in the computer industry that the use of color tends to increase the amount of information presented to the computer user. Both alphanumeric and other graphical information can be enhanced by the effective use of color. Thus, in addition to being able to process multiple types of information, for purposes of conveying large amounts of information, the ability to manipulate color and other attributes with that information is essential.
Unfortunately, the ability to display information in multiple formats with multiple colors and other attributes comes with the expense of processing time and memory usage. In conventional computer display systems, images are stored in a large block of memory allocated for the display screen. In this display screen memory, each memory bit is matched to a corresponding picture element (pixel) on the display system. Thus, images and/or text visible on the display screen is represented as either a one (black dot) or a zero (white dot) in the block of display screen memory. This type of image representation is known as a bitmap because each bit is mapped to one for one to a pixel on the display device. Although the use of bitmaps provides a simple method for image rendering on computer display systems, processing with bitmaps has some major drawbacks.
One major drawback is the volume of memory required to maintain a bitmap for a screen where each pixel has both a position data requirement as well as color other attribute data requirements. Thus, maintaining a one for one bitmap-to-pixel data structure is highly expensive in the context of memory requirements.
A number of methods of improving the memory efficiency of bitmap methods have been developed. See for example, "Method and Apparatus for Image Compression and Manipulation", U.S. Pat. No. 4,622,545, invented by William D. Atkinson, filed Sep. 30, 1982 and assigned to the assignee of the present invention. The Atkinson method improves over the conventional bitmap scheme by disclosing a method for defining display images in terms of inversion points. An inversion point is a point at which the state of all points having coordinates to the right and below the inversion point are inverted (e.g., binary zeros are converted to binary ones and vice versa). In Atkinson, all points comprising an image need not be stored in memory, only the information concerning inversion points. Thus, the Atkinson scheme represents both a savings in memory storage requirements as well as in processor execution time.
While the Atkinson does provide an improved scheme over the traditional bitmap method, bitmapping still suffers serious drawbacks when used for image manipulation. First, when the image is going to displayed on a device having greater resolution than the one for which the bitmap was created, it is necessary to either recalculate the entire image, or forego the increased resolution of the alternative output device. This is because a bitmap is a correspondence of one image point to one pixel point on the first device and where more pixels are available, additional data is required.
The more serious drawback of maintaining all image information as a bitmap is that once an image is reduced to a bitmap, the bulk of the geometrical information about the image is lost. Operations on the image become very complicated and frequently require complete recalculation of the preceding data that led to the image. For example, when an image is constituted by the sum of two geometrical shapes and that summed image is rendered as a bitmap, performing another geometrical operation to the aggregate results in inexactness because geometrical information about the constituent elements is discarded when the bitmap image is developed. The problem is exacerbated when the image includes a lot of color and other attributes which must then be recalculated for each bitmap rendition.
The present invention provides a method of treating all display information as a geometrical form where the forms can be manipulated and processed irrespective of the type of output device that will be used and without discarding useful information once an image is rendered for a particular output display. Additionally, the present invention provides for an efficient hierarchical approach to geometry manipulation and rendering which allows the use of prior methods, such as the traditional bitmap scheme or the improved Atkinson scheme in order to maintain compatibility with prior systems.